package cloudUser.mapper;

import cloudEntity.dto.user.SmartRoleInsertDTO;
import cloudEntity.dto.user.SmartRoleUpdateDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

import cloudEntity.vo.user.SmartUserRoleVO;


/**
 * 智慧校园角色表(SmartRole)表数据库访问层
 *
 * @author makejava
 * @since 2025-04-09 10:39:46
 */
@Mapper
public interface SmartRoleMapper {

    /**
     * 分页查询 角色
     * @param pageNum 页码
     * @param pageSize 一页大小
     * @return 返回 分页 数据
     */
    List<SmartUserRoleVO> getSmartUserRoleByPageInfo(@Param("pageNum") Integer pageNum,
                                                     @Param("pageSize") Integer pageSize);

    /**
     * 查询 角色 总数量
     * @return 返回 角色总数量
     */
    Integer getUserRoleCount();

    /**
     * 新增 角色
     * @param smartRoleInsertDTO 智慧校园角色DTO
     * @return 返回 1 / 0 插入是否成功!
     */
    Integer InsertRole(SmartRoleInsertDTO smartRoleInsertDTO);

    /**
     * 修改 角色
     * @param smartRoleUpdateDTO 智慧校园修改角色DTO
     * @return 返回 1 / 0 修改是否成功!
     */
    Integer UpdateRole(SmartRoleUpdateDTO smartRoleUpdateDTO);

    /**
     * 删除 角色
     * @param ids 角色ids
     * @return 返回 1 / 0 删除是否成功!
     */
    Integer DeleteRole(@Param("ids") Integer ids);
}

